package Mapa;

import java.io.BufferedReader;
import java.io.IOException;
import Graficos.*;

import Personajes.Enemigo;

public class Creador_Enemigos_Archivo {
	protected Mapeo_Enemigos mapeo;
	protected Matriz_Enemigos matriz;
	
	/**Contructor. */
	public Creador_Enemigos_Archivo( BufferedReader f ){
		matriz = new Matriz_Enemigos();
		mapeo = new Mapeo_Enemigos();
		parseFile(f);
	}
	
	/**Devuelve la matriz de enemigos. */
	public Matriz_Enemigos getMatriz(){
		return matriz;
	}
	
	/**Inicializa la matriz desde un archivo. */
	protected void parseFile(BufferedReader in) {
		int line = 0;
		try {
		    String str;
		    while ((str = in.readLine()) != null) {
		        this.parseLine(line, str); 
		        line++;
		    }
		    in.close();
		} catch (IOException e) {}
	}
	
	/**Metodo auxiliar para inicializar la matriz. */
	protected void parseLine(int line, String str )	{
		for( int i = 0; i < str.length(); i++ )	{
			Character c = new Character(str.charAt(i));
			Enemigo e = mapeo.get(c);
			if(e != null){
				Enemigo x = (Enemigo) e.clonar(); 
				x.setRG((Representacion_Grafica)e.getRG().clonar());
				matriz.setEnemigo(i, line, x);
			}
		}
	}
	

}